{
 "cells": [
  {
   "cell_type": "markdown",
   "id": "4d8e73aa",
   "metadata": {},
   "source": [
    "无监督学习优点：算法不受监督信息的约束。不需要数据标签\n",
    "应用：聚类分析，关联规则，维度缩减"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "d5612ca3",
   "metadata": {},
   "source": [
    "# KMeans聚类(K均值聚类)\n",
    "根据数据与中心点的距离划分类别  \n",
    "基于数据类别更新中心点  \n",
    "重复过程直到收敛  \n",
    "公式：数据点与各簇中心点距离dist(x<sub>i</sub>, $u^t_{j}$)  \n",
    "根据距离归类：x<sub>i</sub> $\\in$ $u^t_{nearest}$  这里的意思是，x<sub>i</sub>离哪一个u最近，就属于哪一个u类  \n",
    "中心更新：$u^{t+1}_{j}$ = 1/k * $\\sum_{i=0}^n \\frac{1}{x_{i}}$  \n",
    "算法流程：选择聚类个数，确定聚类中心，根据点到聚类中心聚类确定各个点所属类别，根据各个类别数据更新聚类中心，重复直至收敛 需要告诉分为几类   \n",
    "与KNN(K-nearest Neighbour)类似，不过KNN是监督学习，提前给出了类别数据"
   ]
  },
  {
   "attachments": {},
   "cell_type": "markdown",
   "id": "14d25fc9",
   "metadata": {},
   "source": [
    "# 均值漂移聚类(MeanShift) 基于密度梯度上升的聚类算法\n",
    "随机选择未分类点作为中心点  \n",
    "找出离中心点距离在带宽之内的点，记作集合S  \n",
    "计算从中心点到集合S中每个元素的偏移量M  \n",
    "中心点以向量M移动  \n",
    "重复2-4,直至收敛  \n",
    "重复1-5直到所有点都被归类  \n",
    "分类:根据每个类,对每个点的访问频率,取访问频率最大的那个类,作为当前点集的所属类"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "0c6b3792",
   "metadata": {},
   "source": [
    "# DBSCAN算法(基于密度的空间聚类算法)\n",
    "基于区域点密度筛选有效数据\n",
    "基于有效数据向周边扩张，直到没有新点加入"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.9.4"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
